package gcj2011.round2;

import org.korifey.ffalg.NumberTheory;

import common.AbstractRunner;
import common.AbstractRunner.SIZE;

public class C extends AbstractRunner {

	int[] primes = NumberTheory.erathosphen(2000000);
	
	@Override
	public void handleCase(int caseNumber) throws Exception {
		long x = scanner.nextLong();
		if (x == 1) {
			println(0);
			return;
		}
		
		long res = 1;
		for (int i=0; primes[i]*(long)primes[i] <= x; i++) {
			long a = primes[i];
			while (a*primes[i] <= x) {
				res ++; 
				a *= primes[i];
			}
		}
		println(res);		
	}
	
	public static void main(String[] args) throws Exception {
		new C().init(SIZE.large).execute();
	}
	
}
